package leetcode.lt100;

import java.util.ArrayList;
import java.util.List;

class Solution_78 {

	public static void main(String[] args) {

	}

	public List<List<Integer>> subsets(int[] nums) {
		List<List<Integer>> res = new ArrayList<List<Integer>>();
		res.add(new ArrayList<Integer>());
		for (int i : nums) {
			addSubset(res, i);
		}
		return res;
	}

	private void addSubset(List<List<Integer>> res, int num) {
		int l = res.size();
		for (int i = 0; i < l; i++) {
			List<Integer> list = new ArrayList<Integer>(res.get(i));
			list.add(num);
			res.add(list);
		}
	}

}